Serveur Trackmania sous linux

Nous allons voir comment installer et faire fonctionner un serveur dédié pour Trackmania sous linux (voir trackmania_nations_forever). Nous verrons aussi l'utilisation de Fast 3.

Téléchargement et installation du serveur Trackmania

Pour installer le serveur dédier Trackmania

cd ~
mkdir TMServeur
cd TMServeur 
wget http://files2.trackmaniaforever.com/TrackmaniaServer_2008-12-05.zip 
unzip TrackmaniaServer_2008-12-05.zip
nano RunTrackmaniaServer.sh
#!/bin/sh

./TrackmaniaServer /dedicated_cfg=dedicated.cfg /game_settings=MatchSettings/Nations/NationsBlue.txt
chmod +x RunTrackmaniaServer.sh
cp ~/TMServeur/GameData/Config/dedicated_cfg.txt ~/TMServeur/GameData/Config/dedicated.cfg
./RunTrackmaniaServer.sh

Configuration du serveur

Script ''RunTrackmaniaServer.sh''

nano ~/TmServeur/RunTrackmaniaServer.sh

Explication des options essentielles

/dedicated_cfg=dedicated.cfg

Spécifie quel est le fichier de configuration. (Il doit être dans ~/TMServeur/GameData/Config/)

/game_settings=MatchSettings/Nations/NationsBlue.txt

Spécifie le fichier des options du jeu. (Regardez dans ~/TMServeur/GameData/Tracks/MatchSettings/ pour en trouver d'autres. Vous pouvez aussi en créer des vous-même et les placer dans ~/TMServeur/GameData/Tracks/MatchSettings/.)

Options très utiles

/nodaemon (pour que le processus ne soit pas détaché, cela évite de devoir tuer le serveur avec la commande kill, un simple Ctrl+C est suffisant)

/internet (pour que le serveur soit sur internet et pas seulement en LAN)

Autres options

Une liste complète des options se trouve dans ~/TMServeur/Readme_Dedicated.html. En voici une ou deux:

/login=xxx (définit votre login Trackmania, remplace la valeur qui se trouve dans dedicated.cfg)

/password=xxx (définit votre password Trackmania qui va avec votre login, remplace la valeur de dedicated.cfg)

/servername=xxx (nom de votre serveur, remplace la valeur de dedicated.cfg)

Fichier de configuration ''dedicated.cfg''

nano ~/TmServeur/GameData/Config/dedicated.cfg
<authorization_levels>
                <level>
                        <name>SuperAdmin</name>
                        <password>toto</password>
                </level>
                <level>
                        <name>Admin</name>
                        <password>tata</password>
                </level>
                <level>
                        <name>User</name>
                        <password>asdf</password>
                </level>
</authorization_levels>

Le compte masterserver est un compte Trackmania Nations classique, je vous conseil d'utiliser deux comptes différents: un pour le serveur et un pour jouer.

 <masterserver_account>
                <login>votre_login_serveur</login>
                <password>xxxxxx</password>
                <nation>FRA</nation>
 </masterserver_account>

- Il faut créer un deuxième login TMU uniquement pour votre serveur, pour cela, allez sur https://official.trackmania.com/tmf-dedicated/ ;-). On vous demande un login et un password, entrez celui que vous utilisez pour jouer en ligne. Ensuite, vous devez entrez votre clé TMU (celle qui devrait être dans la boîte du jeu). Remplissez les cases Server login, Server password et choisissez votre région. Cliquez sur Save this Server pour créer votre nouveau login.

- Vous pouvez maintenant remplir les options du fichier de configuration avec votre login pour serveur dédié et le mot de passe qui va avec, ainsi que votre clé TMU.

 	<masterserver_account>
		<login>votre_nouveau_login_tmu</login>
		<password>xxxxxx</password>
		<validation_key>XXXX-XXXX-XXXX-XXXX-XXX</validation_key>
	</masterserver_account>

Dans <name> vous pouvez changer le nom de votre serveur. Vous pouvez utiliser des couleurs avec les balises ($f00). Plus d'infos ici. Vous pouvez aussi Changer le message de bienvenue (celui qui s'affiche lorsqu'on clique sur votre serveur), le nombre de joueur max et de spectateurs max, le mot de passe joueur et spectateur, choisir si votre serveur sera au ladder ou pas. (inactive = non et forced = forcé).

<server_options>
                <name>$f00Serveur</name>
                <comment>bienvenue</comment>
                <max_players>50</max_players>
                <password></password>
                <max_spectators>2</max_spectators>
                <password_spectator></password_spectator>
                <ladder_mode>normal</ladder_mode> // value between 'inactive', 'normal' and 'forced' (or '0', '1', '2')
                <enable_p2p_upload>True</enable_p2p_upload>
                <enable_p2p_download>True</enable_p2p_download>
                <callvote_timeout>60000</callvote_timeout>
                <callvote_ratio>0.5</callvote_ratio>
                <allow_challenge_download>True</allow_challenge_download>
</server_options>

Il faut changer <connection_downloadrate> et <connection_uploadrate> en fonction de votre connection internet. Ensuite, on peut éventuellement changer le port pour les requête XML, personnellement je n'y ai pas touché. Par contre, mettez <xmlrpc_allowremote> sur True (par défaut False). J'ai aussi changé les ports du serveur (<server_port> et <server_p2p_port>) et je les ai ouvert sur mon routeur. Définissez le packmask (par exemple: nations) ou laissez simplement vide pour jouer n'importe quel type de circuit.

<system_config>
		<connection_uploadrate>512</connection_uploadrate>		<!-- Kb/s -->
		<connection_downloadrate>8192</connection_downloadrate>		<!-- Kb/s -->

		<force_ip_address></force_ip_address>
                <server_port>2352</server_port>
                <server_p2p_port>3452</server_p2p_port>
                <client_port>0</client_port>
                <xmlrpc_port>5000</xmlrpc_port>
                <xmlrpc_allowremote>True</xmlrpc_allowremote>  // if you specify an ip adress here, it'll be the only accepted adress. this will improve security.
                <bind_ip_address></bind_ip_address>
                <force_ip_address></force_ip_address>
                <use_proxy>False</use_proxy>
                <proxy_login></proxy_login>
                <proxy_password></proxy_password>
                <blacklist_url></blacklist_url>
		
		<packmask></packmask>
</system_config>

Votre serveur est enfin opérationnel. Démarrez-le avec le script RunTrackmaniaServer.sh. ;-)

Utilisation de Fast 3

Pour ajouter d'autres améliorations à votre serveur, rendez-vous ici. Nous allons voir en détail comment utiliser Fast 3.

Dépendances

Il vous faut php5. Si vous ne l'avez pas encore:

sudo aptitude install php5-cli

Installation

Aller dans le dossier du serveur Trackmania.

cd ~/TmServeur

Télécharger et décompresser Fast 3.

wget http://slig.free.fr/fast3.2/fast3.2.2c-winphp5.zip
unzip fast3.2.2c-winphp5.zip

Utilisation

(Le lisez-moi est ici)

Pour démarrer Fast 3, tappez la commande:

php5 fast.php GameData/Config/dedicated.cfg

Une fois que Fast 3 est lancé, vous pouvez contrôler votre serveur directement depuis le jeu. Lancez Trackmania et connectez-vous à votre serveur. Faites espace (comme pour parler) et tappez votre commande: /help (pour afficher la liste des commandes). La liste complète est ici.

La première personne qui se connecte à votre serveur et qui tappe une commande devient automatiquement administrateur. Pour ajouter d'autres admin il faut utiliser /admin addlogin [nom_du_login].

Le serveur se connecte à Dedimania pour récupérer les reccords, allez faire un tour sur le site.

Voilà, Fast 3 est opérationnel, amusez vous bien sur votre nouveau serveur! ;-)

aseco gestionnaire serveur Trackmania

(Cette section n'est pas finie !)

Dépendances

Pour pouvoir installer aseco il vous faut mysql, apache et php5:

sudo aptitude update
sudo aptitude install apache2 apache2-doc mysql-server php5 libapache2-mod-php5 php5-mysql phpmyadmin php5 php5-gd php5-cli php5-cgi 

Installation

cd /usr/games/tmnf
wget http://surfnet.dl.sourceforge.net/sourceforge/aseco/asecotmf_216.zip
unzip asecotmf_216.zip
cp newinstall/* /usr/games/tmnf/

Sources

http://www.nokytech.net/wiki-article-43-art.html

http://www.tm-forum.com/viewforum.php?f=28